# -*- coding: utf-8 -*-
# Tobiasz Siemiński
# 07.05.2011

import sys
import player as PL
from PyQt4 import QtGui, QtCore

""" Plik z funkcjami pomocniczymi """
def loadPlayersFromFile(self, path):
	""" Wczytuje graczy z pliku i tworzy z nich słownik
	Jako parametr przyjmuje tylko ścieżkę do pliku """

	#Sprawdź ścieżkę
	if path == None or path == "" or str(path).find(".txt") == -1:
		reply = QtGui.QMessageBox.warning(self, QtCore.QString("Blad!"), "Bledna sciezka otwarcia pliku z zawodnikami: "+path)	
		return {}

	#Otwórz plik
	try:
		file = open(path, "r")
	except:
		reply = QtGui.QMessageBox.warning(self, QtCore.QString("Blad!"), "Plik z zawodnikami: "+path+"\n nie istnieje lub nie moze zostac otwarty. Sprawdz prawa dostepu.")	
		return {}

	#Stwórz słownik z piłkarzami
	players = {}
	for player in file.read().rsplit("\n"):
		player = player.split(";")
		if player[0] == "":
			continue
		players[unicode(player[0])] = PL.Player(unicode(player[0]), player[1], player[2], player[3], player[4], player[5])
	return players

def savePlayersToFile(players, path):
	""" Zapisuje graczy do pliku na podstawie słownika
	Jako parametr przyjmuje słownik z zawodnikami i ścieżkę do pliku.
	Zapisuje w formacie:
	nick;pozycja;opanowanie;sprawnosc fizyczna;technika;zaagazowanie"""

	#Sprawdź ścieżkę
	if path == None or path == "" or str(path).find(".txt") == -1:
		reply = QtGui.QMessageBox.warning(self, QtCore.QString("Blad!"), "Bledna sciezka zapisu pliku z zawodnikami: "+path)	
		sys.exit(0)

	#Otwórz plik
	try:
		file = open(path, "w")
	except:
		reply = QtGui.QMessageBox.warning(self, QtCore.QString("Blad!"), "Plik z zawodnikami: "+path+"\n nie istnieje lub nie moze zostac zapisany. Sprawdz prawa dostepu.")	
		return		

	for player in players.values():
		file.write(str(unicode(player.nick))+";"+str(player.position)+";"+str(player.composure)+";"+str(player.physicalFitness)+";"+str(player.technique)+";"+str(player.engagement)+"\n")
	
	file.close()


def getPositions():
	return ["ATT", "MID", "DEF", "GK"]

def getScale():
	return ["1","2","3","4","5","6","7","8","9","10"]


def saveTextToFile(filename, text):
	""" Uniwersalna funkcja zapisujaca wskazany tekst do wskazanego pliku """
	#Sprawdź ścieżkę
	if filename == None or filename == "":
		reply = QtGui.QMessageBox.warning(self, QtCore.QString("Blad!"), "Bledna sciezka zapisu pliku z zawodnikami: "+path)	
		return

	#Otwórz plik
	try:
		file = open(filename, "w")
	except:
		reply = QtGui.QMessageBox.warning(self, QtCore.QString("Blad!"), "Plik z zawodnikami: "+filename+"\n nie istnieje lub nie moze zostac zapisany. Sprawdz prawa dostepu.")	
		return

	file.write(unicode(text))
	file.close()



















#loadPlayersFromFile("gracze.txt")
